// 基本的API示例 - 不包含UI组件，避免类型错误

import { Device } from '../src/types';

/**
 * 展示如何在Expo环境中使用DLNA Player库的示例
 */
class DlnaPlayerExpoExample {
  // 示例API - 搜索设备
  static async searchDevices(): Promise<Device[]> {
    try {
      // 动态导入DLNA Player，避免静态导入可能的类型错误
      const { default: DlnaPlayer } = await import('../src/index');
      return await DlnaPlayer.searchDevices();
    } catch (error) {
      console.error('搜索设备失败:', error);
      return [];
    }
  }

  // 示例API - 连接设备
  static async connectToDevice(deviceId: string): Promise<boolean> {
    try {
      const { default: DlnaPlayer } = await import('../src/index');
      return await DlnaPlayer.connectToDevice(deviceId);
    } catch (error) {
      console.error('连接设备失败:', error);
      return false;
    }
  }

  // 示例API - 播放视频
  static async playVideo(url: string, title?: string): Promise<boolean> {
    try {
      const { default: DlnaPlayer } = await import('../src/index');
      return await DlnaPlayer.playVideo(url, title);
    } catch (error) {
      console.error('播放视频失败:', error);
      return false;
    }
  }

  // 示例API - 暂停视频
  static async pauseVideo(): Promise<boolean> {
    try {
      const { default: DlnaPlayer } = await import('../src/index');
      return await DlnaPlayer.pauseVideo();
    } catch (error) {
      console.error('暂停视频失败:', error);
      return false;
    }
  }

  // 示例API - 恢复播放
  static async resumeVideo(): Promise<boolean> {
    try {
      const { default: DlnaPlayer } = await import('../src/index');
      return await DlnaPlayer.resumeVideo();
    } catch (error) {
      console.error('恢复播放失败:', error);
      return false;
    }
  }

  // 示例API - 停止视频
  static async stopVideo(): Promise<boolean> {
    try {
      const { default: DlnaPlayer } = await import('../src/index');
      return await DlnaPlayer.stopVideo();
    } catch (error) {
      console.error('停止视频失败:', error);
      return false;
    }
  }

  // 示例API - 获取播放状态
  static async getPlaybackStatus() {
    try {
      const { default: DlnaPlayer } = await import('../src/index');
      return await DlnaPlayer.getPlaybackStatus();
    } catch (error) {
      console.error('获取播放状态失败:', error);
      return null;
    }
  }
}

export default DlnaPlayerExpoExample; 